package com.cskaoyan.javase.oop2.encapsulate._1extends._0introduction._1new;

/**
 * 继承的引入
 * 根据我们之前学过的知识，完成如下练习：
 * 分别定义一个表示人和学生的类：
 *      1.人类：有姓名属性，以及吃饭这个行为
 *      2.教师类：有姓名，教师号两个属性，同时有吃饭，教学两种行为
 *      3.学生类：有姓名，学号两个属性，同时有吃饭，学习两种行为
 *
 * 约定: 一般来说,定义类时,应该私有化成员变量,除非特别有必要,才会给外界成员变量的访问权限.
 * 但是为了上课方便,我们就不这么做了,大家以后写代码注意一下就可以了.
 *
 * 以上代码实现,非常简单,但是很明显eat方法,name属性是有重复的地方
 * 既然重复,就需要考虑能不能复用?
 * 方法的本质是复用代码,但是这里需要复用类的成员,方法是用不了的
 * 这时就需要使用继承的语法来复用类的成员
 *
 * @since 16:33
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {

    }
}

class Person {
    String name;

    public void eat() {
        System.out.println("人要吃饭!");
    }
}

class Teacher {
    String name;
    int teacherId;

    public void eat() {
        System.out.println("人要吃饭!");
    }

    public void teach() {
        System.out.println("老师在上课!");
    }
}

class Student {
    String name;
    int stuId;

    public void eat() {
        System.out.println("人要吃饭!");
    }

    public void study() {
        System.out.println("学生在自习!");
    }
}